/*
 * LongTermScheduler.h
 *
 *  Created on: Nov 21, 2013
 *      Author: sickan
 */

#ifndef LONGTERMSCHEDULER_H_
#define LONGTERMSCHEDULER_H_

#include <list>
#include "Process.h"
#include <pthread.h>
#include "PriorityQ.h"
#include <queue>

class LongTermScheduler {
private:
	std::list<Process> newProcesses;
	static LongTermScheduler* instance;
	PriorityQ* prioQ;
	LongTermScheduler();
public:
	static LongTermScheduler* getInstance();
	virtual ~LongTermScheduler();
	void addNewProcess(Process* newProcess);
	void run();
};

#endif /* LONGTERMSCHEDULER_H_ */
